package com.hkbigdata;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**
 * @author liuanbo
 * @creat 2024-03-19-22:50
 * @see 2194550857@qq.com
 */
public class HelloServlet implements Servlet {

/*    1 、执行 Servlet 构造器方法
      2 、执行 init 初始化方法
     第一、二步，是在第一次访问，的时候创建 Servlet 程序会调用。
     3 、执行 service 方法
    第三步，每次访问都会调用。
    4 、执行 destroy 销毁方法
    第四步，在 web 工程停止的时候调用。*/

    //重写抽象方法 alt+回车
    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("servlet被初始化!!!");
    }

    //alt+insert生成构造器


    public HelloServlet() {
        System.out.println("构造器被调用了!!!");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    /**
     * 每访问一次Tomcat，该方法就会被调用一次
     *
     * @param req
     * @param res
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("servlet 被调用了");

        //1.将类型进行转换
        HttpServletRequest httpServletRequest = (HttpServletRequest) req;
        //2.获取method
        String method = httpServletRequest.getMethod();
        System.out.println("请求行方法:" + method);
        if (method.equals("GET")) {
            DoGet();
        } else if (method.equals("POST")) {
            DoPost();
        }
    }

    public void DoGet() {
        System.out.println("访问get方法");
    }

    public void DoPost() {
        System.out.println("访问post方法");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("servlet被销毁");
    }
}
